草庐IT

Linux 配置免密登录

全部标签

go - 如何使用 REST API 登录 IBM Bluemix?

我正在尝试使用CloudFoundrygo-cfclient在Go中使用IBMBluemix和RESTAPI。我的登录过程已经失败。我正在使用以下示例代码并通过传入Bluemix端点“https://api.ng.bluemix.net”和我的用户标识/密码信息来调用该程序。packagemainimport("flag""fmt""os"cfclient"github.com/cloudfoundry-community/go-cfclient")funcmain(){api:=flag.String("api","","APIendpoint")username:=flag.Str

linux - 用于在 Ubuntu 16.04 上更新 GO 项目的 Bash 脚本

这个问题在这里已经有了答案:HowtogetprocessIDofbackgroundprocess?(9个回答)关闭5年前。伙计们。我是bash脚本编写和在ubuntu上部署Go的新手。我这样运行我的Go程序gobuild-omyprogrammain.go./myprogram&但现在,我不想使用sftp上传文件并手动更改所有内容,而是编写简单的bash脚本。问题是我首先需要终止现有进程,但我不知道如何获取PID并终止它。也许我可以使用不同的东西运行我的程序,这样我就不必找到PID。我尝试使用psax|grepmyprogram然后杀死它,但没有成功

linux - [Golang][Linux] - 如何获取当前用户打开的所有文件

当日志大小超过配额时,我想删除一些日志,但我需要在删除之前检查日志是否正在打开。如何获取当前用户打开的所有文件? 最佳答案 解析/proc(参见proc(5)...)可能是最有效的方法,也是lsof会做的。您可以首先扫描所有(数字)目录以查找用户运行的进程,然后在所有此类目录中使用/proc/pid/fd目录。顺便说一句,您可能不在乎,只需删除这些日志文件即可。内核在打开时会正常运行。但也许你应该让你的系统管理员设置diskquotas.参见quota(1)"aon(8).可能正在使用和配置logrotate应该足够了。

GoLang 使用 viper 更改配置项的值

我有一个yaml配置文件,其中包含我的程序的所有设置。例如:something:enabled:true我正在使用https://github.com/spf13/viper获取项目的值(value):viper.GetBool("something.enabled")但我想知道是否有办法使用viper直接将“something.enabled”的值更改为“false”?更改也将应用于配置文件,因此它将变为:something:enabled:false 最佳答案 看起来你可以像这样使用Set方法:viper.Set("someth

linux - 如何在/mnt/中创建文件读/写权限?

我试过os.Create()但它给出的权限被拒绝。这是预期的结果,但我怎样才能摆脱它? 最佳答案 首先检查您是否有阻止在/mnt中创建任何文件(无论是否为根文件)的安全设置。参见“Can'tcreate/writetofile'/mnt/temp/something'(Errcode:13)”它涉及在/etc/apparmor.d中添加配置文件以允许创建任何文件。参见“UbuntuAppArmor”。 关于linux-如何在/mnt/中创建文件读/写权限?,我们在StackOverflo

docker - 如何从 docker 容器配置 go sdk 和 GOPATH?

我正在尝试使用JetbrainsGogland和dockercompose配置golang项目。我想使用GOPATH并从docker容器中走出来。我的意思是使用容器中的go安装来进行自动完成等,而无需在本地计算机上安装golang。项目结构是:projectrootdocker-compose.ymlback|Dockerfilemain.gosomeotherpackagesfront|allthefrontfiles...之后,我想将我的back文件夹部署到docker容器中的/go/src/app。问题是当我开发项目时我不能使用自动完成,因为这个项目不在我本地的GOPATH中并且

go - 如何为滚动文件系统日志配置 uber-go/zap 记录器?

如何配置uber-go/zap记录器api将日志附加到指定的文件路径。能否使其像滚动文件附加程序(基于文件大小或日期)一样工作而不影响性能? 最佳答案 一个钩子(Hook)可以添加到zap记录器,它将条目写入lumberjack,Go的滚动日志。一个简单的用法是这样的:滚动日志://remembertocallthisatapp(orscope)exit://logger.Close()varlumlog=&lumberjack.Logger{Filename:"/tmp/my-zap.log",MaxSize:10,//megab

go - 如何将数组中的配置项绑定(bind)到环境变量

下面是我的toml格式的配置文件。[[hosts]]name="host1"username="user1"password="password1"[[hosts]]name="host2"username="user2"password="password2"...这是我加载它的代码:import("fmt""github.com/spf13/viper""strings")typeConfigstruct{Hosts[]Host}typeHoststruct{Namestring`mapstructure:"name"`Usernamestring`mapstructure:"us

linux - 链接 ARM 上的 SQLite3(x86_64 主机)

我需要交叉编译一些Go应用程序,以便它可以在RaspberryPi上运行。到目前为止,它在GOARCH=armGOOS=linux上运行良好,但是对于SQLite3,导入的符号存在一些问题:GOOS=linuxGOARCH=armgobuildvendor/github.com/mattn/go-sqlite3/sqlite3_go18.go:18:10:undefined:SQLiteConn我也试过GOOS=linuxGOARCH=armgogetgithub.com/mattn/go-sqlite3#github.com/mattn/go-sqlite3../../mattn/g

linux - 为什么 docker 容器中的应用程序不重启?

我已经部署了一些带有golang应用程序的docker容器。其中一个我需要通过这个命令启动:dockerrun--restartunless-stopped-itmyapp/bin/bash下一步我进入容器并编辑一些配置文件,然后我运行gobuildmain.go和./main之后,我按ctrl+q并将其保留。一切正常,重启服务器后我的所有容器都完美重启。但是有一个问题,当myapp容器重新启动时,golang应用程序不会运行,而容器仍在运行。我必须再次输入并运行./main。我该如何解决?DockerfileFROMgolang:1.8WORKDIR/go/src/appCOPY..